﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JukeboxParty
{
    public class Song
    {
        //
        // Properties
        //
        #region Properties
        public Artist SongArtist
        {
            get { return this._album.AlbumArtist; }
        }

        private Album _album;
        public Album SongAlbum
        {
            get { return this._album; }
            set { this._album = value; }
        }

        private String  _song;
        public String Name
        {
            get { return this._song; }
        }

        private int _trackNumber;
        public int TrackNumber
        {
            get { return this._trackNumber; }
            set { this._trackNumber = value; }
        }
        #endregion

        //
        // Constructors
        //
        #region Constructors
        public Song() :
            this("__error__", null, 0)
        {
        }

        public Song(String song, Album album, int trackNumber)
        {
            this._song = song;
            this._album = album;
            this._trackNumber = trackNumber;
            album.AddSong(this);
        }
        #endregion

        //
        // Member Functions
        //
    }
}
